package ewms.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import ewms.bo.EwmsTransferWarehouseQueryBo;
import ewms.domain.EwmsTransferWarehouse;
import ewms.vo.transfer_warehouse.EwmsTransferWarehouseDetailVo;
import ewms.vo.transfer_warehouse.EwmsTransferWarehouseTempForPage;
import ewms.common.core.page.BaseMapperPlus;
import ewms.common.core.mybatisplus.MybatisPlusRedisCache;
import org.apache.ibatis.annotations.CacheNamespace;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * 危废转库Mapper接口
 *
 * @author zhaoxiaochun
 * @date 2022-02-15
 */
@CacheNamespace(implementation = MybatisPlusRedisCache.class, eviction = MybatisPlusRedisCache.class)
public interface EwmsTransferWarehouseMapper extends BaseMapperPlus<EwmsTransferWarehouse> {

	/**
	 * 查询危废转库列表
	 *
	 * @param transferWarehouseQueryBo
	 * @return
	 */
	public List<EwmsTransferWarehouseDetailVo> selectTransferWarehouseList(EwmsTransferWarehouseQueryBo transferWarehouseQueryBo);

	/**
	 * 查询危废转库列表
	 *
	 * @param page         分页信息
	 * @param transferWarehouseQueryBo
	 * @return
	 */
	Page<EwmsTransferWarehouseTempForPage> selectPageTransferWarehouseTempForPageList(@Param("page") Page<EwmsTransferWarehouseTempForPage> page, @Param("transferWarehouse") EwmsTransferWarehouseQueryBo transferWarehouseQueryBo);

	/**
	 * 查询最大转库时间
	 * @param inventoryId
	 * @return
	 */
	Date selectMaxTransferDate(@Param("inventoryId") long inventoryId);
}
